package com.guet;

import java.util.ArrayList; // 导入ArrayList类
import java.util.List; // 导入List接口

// 定义一个类来存储路径历史记录
public class PathHistory {
    private List<PathRecord> history; // 用于存储路径记录的列表

    // 构造函数，初始化路径历史记录列表
    public PathHistory() {
        this.history = new ArrayList<>(); // 初始化路径记录列表为一个新的ArrayList
    }

    // 添加路径记录的方法
    public void addPathRecord(String startName, String endName, List<Integer> path, String way) {
        history.add(new PathRecord(startName, endName, path, way)); // 创建一个新的PathRecord对象并添加到历史记录列表中
    }

    // 获取所有路径记录的方法
    public List<PathRecord> getHistory() {
        return history; // 返回路径历史记录列表
    }

    // 根据起点和终点名称获取特定路径记录的方法
    public List<PathRecord> getHistoryByStartAndEnd(String startName, String endName) {
        List<PathRecord> filteredHistory = new ArrayList<>(); // 创建一个新的列表用于存储过滤后的路径记录
        for (PathRecord record : history) { // 遍历所有路径记录
            if (record.getStartName().equals(startName) && record.getEndName().equals(endName)) {
                filteredHistory.add(record); // 如果记录的起点和终点名称匹配，则添加到过滤后的列表中
            }
        }
        return filteredHistory; // 返回过滤后的路径记录列表
    }
}
